package muhnes.sizoo.dal;

import muhnes.sizoo.HibernateUtilZoologia;
import muhnes.sizoo.modelo.Resenya;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 * Clase que implementa los metodos definidos en ResenyaDao
 * @author Ricardo Orellana
 */
public class ResenyaDaoImpl extends GenericoDAO< Resenya, Integer >  
                            implements ResenyaDao {
     
    public ResenyaDaoImpl() {
        super( HibernateUtilZoologia.getSessionFactory() );
    }

    @Override
    protected Class<?> getClaseEntidad () {
        return Resenya.class;
    }

    /**
     * Método que devuelve la reseña de un animal
     *  
     */
    @Override
    public Resenya buscarPorAnimal(Integer id) {
        Session sesion = fabricaSesion.getCurrentSession();
        String hql = "from Resenya where codigoanimal = :codigo " + 
                     "and upper(estado) = 'ACTIVO'";
        Query consulta = sesion.createQuery(hql);
        consulta.setParameter( "codigo", id );
        Resenya resenya = (Resenya)consulta.uniqueResult();
        return resenya;
    }

     /**
     * Método que verifica la unicidad de las reseñas
     *  
     */
    @Override
    public boolean verificarUnicidad(Resenya entidad) {
        return false;
    }
    
     /**
     * Método que verifica que la entidad dependa de otras entidades
     *  
     */
    @Override
    public boolean verificarDependencia (Resenya entidad) {
        return false;
    }
    
}
